package reflact.demo3_注解;


import java.lang.annotation.Annotation;
import java.lang.reflect.Method;

public class Test {
    public static void main(String[] args) throws Exception{

        Class c=Class.forName("reflact.demo3_注解.MyServlet");
        //判断一个类是否实现了指定的注解
        System.out.println(c.isAnnotationPresent(ServletConfig.class));
        Method m=c.getDeclaredMethod("handle");
        System.out.println(m.isAnnotationPresent(ServletConfig.class));

        Annotation[]arr=m.getDeclaredAnnotations();
        ServletConfig ser=m.getDeclaredAnnotation(ServletConfig.class);
        System.out.println(ser.handleDao() + ":" + ser.handleServlet());

        //框架找到了指定的类中的特殊方法后，框架就可以直接调用
        if(ser.handleServlet().contains("servlet")){
            m.invoke(c.newInstance());
        }
    }
}
